Искусство схемотехники. Том 2 [Изд.4-е] - Пауль Хоровиц
Шрифт:
Интервал:
Закладка:
Конечно, в схемах имеется дополнительный адресный бит, который вы используете для выбора одного устройства или другого. На невыбранном мультиплексоре `151 выход Q поддерживается на низком уровне, что позволяет произвести объединение через вентиль ИЛИ. Если выходы имеют три состояния, то расширение производится еще проще: для этого достаточно непосредственно объединить выходы.
Демультиплексоры и дешифраторы. Входной сигнал принимается демультиплексором и направляется им на один из нескольких выходов в соответствии с двоичным кодом, действующим на адресных входах. Остальные выходы в этом случае находятся либо в неактивном состоянии, либо в состоянии разомкнутой цепи. Аналогично работает и дешифратор. Единственное отличие состоит в том, что на входы подается только адрес, возбуждающий один из n возможных выходов. На рис. 8.35 показан такой пример.
Рис. 8.35. Дешифратор «1 из 8».
Дешифратор `138 — "1 из 8" имеет низкий уровень на выходе, который соответствует входному 3-разрядному коду (адресу), а на остальных выходах — высокий уровень. В частности этот дешифратор имеет три входа разрешение, все из которых должны быть активны (два — низкого и один — высокого уровня), иначе все выходы имеют высокий уровень. Основное применение дешифратора — заставить происходить различные события, которые зависят от состояния «счетчика», который управляет этим (скоро об этом тоже поговорим подробно).
Дешифраторы обычно используются при сопряжении с микропроцессором, когда необходимо выполнить различные действия в зависимости от адреса. Мы будем рассматривать это детально в гл. 10.
Другим применением общего использования дешифратора является организация (разрешение) последовательности действий, согласно достигнутого адреса, заданного выходом двоичного счетчика (разд. 8.25). В заключение, о «брате» схемы `138 — схеме `139, которая представляет сдвоенный дешифратор "1 из 4" с раздельным одиночным разрешением по низкому уровню. На рис. 8.36 показано, как использовать два дешифратора `1 из 8' типа `138 для получения дешифратора "1 из 16". Как видно из рисунка, при этом не требуются внешние элементы, поскольку схема `138 имеет входы разрешения обеих полярностей (низкого и высокого уровней).
Рис. 8.36. Наращивание дешифратора.
Упражнение 8.18. Большое расширение: постройте дешифратор "1 из 64" на девяти устройствах `138. Подсказка: используйте один из них для разрешения подключения других.
В КМОП-логике мультиплексоры, которые используют передающие вентили, также являются демультиплексорами, поскольку передающие вентили являются двунаправленными. Когда они используются таким образом, важно сознавать, что выходы, которые не выбраны, отключены. Нагрузочный резистор, или эквивалентный ему, должны быть использованы для обеспечения правильного функционирования логики с такими выходами (те же самые требования, что и с ТТЛ-вентилями с открытым коллектором).
Существует другой тип дешифраторов, который обычно входит в состав всех логических семейств. Примером такого дешифратора служит преобразователь двоично-десятичного кода в семисегментный с формирователями для управления цифровым индикатором `47. Эта схема в соответствии с двоично-десятичным кодом, действующим на входе, формирует сигналы на всех выходных линиях, связанных со входами семисегментного цифрового индикатора, воспроизводящего десятичный символ. Устройство такого типа фактически является преобразователем кодов, но в обычной практике используется название дешифратор. В табл. 8.6 в конце главы представлено большинство применяемых дешифраторов.
Упражнение 8.19. Используя вентили, постройте преобразователи двоично-десятичного кода в десятичный ("1 из 10").
Приоритетный шифратор. Приоритетный шифратор формирует на выходе двоичный код, соответствующий входу с наивысшим номером (приоритетом), который возбуждается. Наиболее часто эта схема используется в аналого-цифровых преобразователях с параллельным преобразованием (см. следующую главу) и в проектировании микропроцессорных систем. Примерами устройств такого типа являются схема `148 — 8-входовый (3 выходных разряда) приоритетный шифратор и схема `147 — 10-входовый.
Упражнение 8.20. Спроектируйте простейший дешифратор, у которого 2-разрядный адрес на выходе будет указывать, какой из четырех входов имеет высокий уровень (все остальные входы должны иметь низкий уровень).
Сумматоры и другие арифметические устройства. На рис. 8.37 изображен 4-разрядный полный сумматор. Он прибавляет 4-разрядное двоичное число Аi к 4-разрядному числу Вi и вырабатывает на выходе 4-разрядную сумму Si плюс разряд переноса Пвых. Для суммирования больших величин сумматоры можно наращивать. Для этой цели предусмотрен вход Пвх, на который поступает выходной сигнал переноса от предыдущего (младшего) сумматора.
Рис. 8.37. 4-разрядный полный сумматор.
На рис. 8.38 показано, как строится схема для суммирования двух 8-разрядных двоичных чисел.
Рис. 8.38. Наращивание сумматора.
Часто в качестве сумматоров используются арифметико-логические устройства (АЛУ). Эти устройства фактически предназначены для выполнения целого ряда различных функций. В частности, 4-разрядная АЛУ `181 (с возможностью расширения для обработки слов большей длины) может выполнять сложение, вычитание, сдвиг двоичных разрядов, сравнение величин и некоторые другие функции. Время выполнения арифметических операций в сумматорах и АЛУ находится в пределах от наносекунд до десятков наносекунд в зависимости от типа логического семейства.
Интегральные умножители выпускаются в конфигурациях 8 бит x 8 бит или 16 бит x 16 бит. Разновидностью умножителей, которые в основном используются для цифровой обработки сигналов, являются так называемые умножители-накопители, которые накапливают сумму произведений. Они также выполняются в размерах 32x32 с 64-битовым произведением плюс несколько дополнительных бит для сохранения суммы от переполнения. Умножители-накопители и умножители выпускаются с временем 25–50 нс; у ЭСЛ-умножителей время меньше — 5 нс (тип.) для умножителей 16x16.
Другим арифметическим устройством, которое используется в цифровой обработке сигналов, является коррелятор, который сравнивает соответствующие биты двух цепочек битов, вычисляя число совпавших битов. Типовой интегральный коррелятор сравнивает два 64-разрядных, которые могут сдвигаться во внутренних регистрах сдвига. Какой-либо набор бит может игнорироваться («маскироваться») в корреляции. Типовые времена составляют 30 нс, т. е. лента бит может тактироваться с частотой 35 МГц, с разрешением 7 бит в корреляции для каждого такта. Вычисляется отклонение (как в цифровом фильтре с КИХ) вместо суммы (с переносом) попарносвязанных произведений двух цепочек целых чисел.
Типичные размеры — целые числа от 4 до 10 бит при длине от 3 до 8 слов (конечно, имеющие возможность расширения). Наиболее сложными арифметическими кристаллами являются процессоры с плавающей запятой, которые осуществляют сравнение, суммирование, умножение, вычисление тригонометрических функций, экспонент и корней. Обычно они используются совместно с определенными микропроцессорами и приспособлены для работы в стандарте, известном как IEED754, который определяет размеры слов (до 80 бит), формат и т. д. Примерами таких устройств (плюс основные микропроцессоры) являются схемы 8087 (80848), 80287 (80286), 80387 (80386) и 68881 (68020/30). Они имеют действительно ошеломляющую производительность в 10 Мегафлопс (миллион операций с плавающей запятой в секунду) или более.
Компараторы. На рис. 8.39 показан 4-разрядный компаратор чисел, который определяет относительные значения чисел А и В и вырабатывает на выходе сигналы результатов сравнения: А < В, А = В и А > В. Входы допускают наращивание для обработки чисел длиной более 4 бит.
Рис. 8.39. Компаратор.
Упражнение 8.21. Сконструируйте компаратор, используя вентили «исключающее или», который будет сравнивать 4-разрядные числа А и В и определять, когда А = В.
Схема формирования и контроля бита паритета. Это устройство предназначено для выработки паритетного бита, который добавляется к информационному «слову» при передаче (или записи) данных, а также для проверки правильности паритета при восстановлении этих данных. Паритет может быть четным или нечетным (при нечетном паритете для каждого символа общее число битов (разрядов), содержащих 1, нечетно). Например, формирователь паритета 1280 принимает 9-разрядное слово и в соответствии с состоянием управляющего входа вырабатывает на выходе четный или нечетный бит. Конструктивно схема представляет собой набор вентилей «исключающее или».